package com.wgts.wgts.dagger.module;


import com.wgts.wgts.dagger.scope.FragmentScope;
import com.wgts.wgts.mvp.model.IMyExtensionFansOrderFragmentModel;
import com.wgts.wgts.mvp.model.imp.MyExtensionFansOrderFragmentModel;
import com.wgts.wgts.mvp.presenter.IMyExtensionFansFragmentpersenter;
import com.wgts.wgts.mvp.presenter.IMyExtensionFansOrderFragmentPresenter;
import com.wgts.wgts.mvp.presenter.imp.MyExtensionFansFragmentpersenter;
import com.wgts.wgts.mvp.presenter.imp.MyExtensionFansOrderFragmentPresenter;
import com.wgts.wgts.mvp.view.IMyExtensionFansOrderFragmentView;
import com.wgts.wgts.netmodle.NetService;

import dagger.Module;
import dagger.Provides;

@Module
public class MyExtensionFansOrderFragmentModule {

    private IMyExtensionFansOrderFragmentView view;

    public MyExtensionFansOrderFragmentModule(IMyExtensionFansOrderFragmentView view) {
        this.view = view;
    }

    @Provides
    @FragmentScope
    public IMyExtensionFansOrderFragmentView provideView() {
        return view;
    }

    @Provides
    @FragmentScope
    public IMyExtensionFansOrderFragmentModel provideModel(NetService netService) {
        return new MyExtensionFansOrderFragmentModel(netService);
    }

    @Provides
    @FragmentScope
    public IMyExtensionFansOrderFragmentPresenter providePersenter(IMyExtensionFansOrderFragmentModel model, IMyExtensionFansOrderFragmentView view) {
        return new MyExtensionFansOrderFragmentPresenter(view, model);
    }
}